package com.strive.service;

import com.strive.entity.SysUser;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author strive.Peng
 * @since 2024-03-14
 */
public interface SysUserService extends IService<SysUser> {

    SysUser getByUsername(String username);

    String getUserAuthorityInfo(Long userId); // 根据用户ID获取权限信息

    /**
     * 以下三种情况需要清除缓存
     * 当编辑角色、菜单信息后 关联的用户权限也要发生改变
     **/
    void clearUserAuthorityInfo(String username); // 删除某个用户的权限信息

    void clearUserAuthorityInfoByRoleId(Long roleId); // 用户RoleID发生改变 清除某个角色权限

    void clearUserAuthorityInfoByMenuId(Long menuId); // 用户菜单权限发生改变，清除菜单权限信息

}
